The following prior art references are considered by applicants to be the most pertinent to the present invention:
[A] J. K. Wolf and G. Ungerboeck, "Trellis Coding for Partial-Response Channels," IEEE Trans. Comm., Vol. COM34, No. 8, August 1986, pp. 765-773.
[B] T. A. Lee and C. Heegard, "An Inversion Technique for the Design of Binary Convolutional Codes for the 1-D.sup.N Channel," Proc. IEEE Regional Meeting, Johns Hopkins, February 1985.
[C] A. R. Calderbank, C. Heegard and T. A. Lee, "Binary Convolutional Codes with Application to Magnetic Recording," IEEE Trans. Info. Th., Vol. IT32, No. 6, November 1986, pp. 797-815.
[D] H. Thapar and A. Patel, "A Class of Partial Response Systems for Increasing Storage Density in Magnetic Recording," presented at Intermag 1987, Tokyo, Japan.
Partial response signalling with maximum likelihood sequence detection in digital data communication and recording applications is a known technique. References [A], [B], [C] Supra, described trellis coding techniques to provide coding gain required in noisy or otherwise degraded channels. These techniques apply to channels described by channel transfer polynomials of the form (1.+-.D.sup.N), for N.gtoreq.1, and which are precisely those obtained by interleaving N times a channel with transfer polynomial (1.+-.D).
References [A], [B] and [C] utilize a binary convolutional code with specified rate and Hamming distance properties as the trellis code. The coding gain of these trellis codes is determined by the free Euclidean distance of the channel outputs which is lower bounded by (the lowest even number greater than or equal to) the free Hamming distance of the convolutional code. The number of consecutive zeros in the output signal must be limited for purposes of timing and gain control. In order to control the maximum run of zero samples in the channel output signal, or "zero run-length" (ZRL), the encoded data is modified by adding (modulo 2) a fixed binary sequence, called a "coset vector", to the encoder output.
In addition, Reference [A]'s approach requires an inverse channel precoder to make nonzero output samples correspond to ones in the channel input, and conversely. However, the approaches in References [B] and [C] do not require a precoder; instead they invert the original code (termed the "magnitude code") and convert it into convolutional code (termed the "sign code"), which is then used as the actual trellis code. References [A], [B] and [C] each specify the underlying convolutional code to be one with maximum Hamming distance d.sup.H.
The conventional biphase code described in Reference [C] shows that the approaches of References [A], [B] and [C] do not always produce, for a given code rate and coding gain, the code with minimum detector complexity and/or minimum zero sample run-length constraint.
The techniques heretofore disclosed (e.g., in References [A], [B] and [C]) do not produce any codes for the extended class of suitable partial response channels described in Reference [D], which describes a class of channels with transfer polynomials of the form (1-D)(1+D).sup.N, where N.gtoreq.2.
There is a need for techniques which can provide codes which improve upon those found in the prior art by enabling significantly enhanced coding gains.